1. Field of the Invention
The invention relates to a method and system for transmitting data packets in time slots on a communication network having first and second unidirectional buses which are oppositely directed and a plurality of access units coupled between the buses, said method including the steps of forming a distributed queue of data packets by queueing in each access unit the therein received data packets to be transmitted on the first unidirectional bus, transmitting a request flag on the second unidirectional bus by each access unit for each data packet in the queue in the respective access unit, keeping track in each access unit of all request flags passing said access unit on the second unidirectional bus, and transmitting a data packet from the queue in an access unit if a predetermined number of empty time slots has passed said access unit on the first bus.
2. Description of the Related Art
A method of this type is described in International Patent Publication No. WO 86/036239 Published June 19, 1986. According to this prior art method a request flag for a data packet is transmitted on the second bus by an access unit upon arrival of said data packet at the head of the queue in the access unit. Simultaneously the momentary request counter value is loaded in a countdown counter, whereafter the request counter is resetted. Thereafter the request counter starts accumulating again the number of request flags passing on the second bus, whereas the access unit for each empty time slot detected on the first bus generates a decrement signal to the countdown counter. The first empty time slot detected by the access unit after the countdown counter has reached a predetermined end value (zero) is used by the access unit to transmit the data packet on the first bus. If the queue in the access unit comprises at least one more data packet to be transmitted, the new momentaneous request counter value is loaded into the countdown counter and the whole procedure is repeated until the last data packet in the queue is transmitted. If there are no more data packets in the queue the request counter still accumulates the passing request flags, transmitted by downstream access units, but is simultaneously decremented by each empty time slot passing on the first bus in downstream direction. Therewith the access unit keeps track of all still pending and not answered request flags transmitted by downstream access units.
According to this method each data packet first has to travel through the queue in an access unit. As it reaches the head of the queue the data packet has to wait further for the passing of a number of empty time slots requested by downstream access units before it can be transmitted. No consideration is given to the length of the queue in any given access unit. That implies that the period between the time of arrival of a data packet in an access unit and the time said data packet is actually transmitted will be significantly shorter for an access unit with comparatively low traffic than for an access unit with comparatively busy traffic. It is furthermore found in practice that the waiting period for data packets arriving in an access unit at a relatively short distance from the time slot generator is an average significantly shorter than the waiting time for data packets arriving at an access unit more distant from the time slot generator.
The significant variations in the waiting period for a data packet between the time of its arrival in an access unit and the time of transmission, depending on the traffic density in the respective access unit, and the physical position of this access unit may cause problems. Moreover, in many applications, it is desirable to minimize "jitter", i.e. the difference in waiting time of two successive packets arriving at the same access unit. Therefore, in many cases it is considered an advantage for systems of this type if the method would operate in accordance with the "first-in/first-out" priniciple. Maintaining a strict first-in/first-out principle would assure that the waiting time for each data packet is not dependent on the physical location of the access unit to which it is supplied, and is only dependent on the traffic density of the system as a whole. If the density increases then also the waiting time for each packet will increase proportionally. Moreover, the strict first-in/first out principle is also a strategy which minimizes the jitter mentioned above.